/*
 * TagEnd.h
 *
 *  Created on: 19 juin 2011
 *      Author: Pierrick Caillon <pierrick@megami.fr>
 */

#ifndef TAGEND_H_
#define TAGEND_H_

#include "IValueTag.h"

namespace NamedBinaryTag
{

class __attribute__((visibility("default"))) TagEnd: public NamedBinaryTag::IValueTag
{
public:
	TagEnd();
	virtual ~TagEnd();

	TagTypes get_TagType() const;
	std::string get_Name() const;
	void set_Name(std::string value);

	void Read(std::istream &input);
	void Write(std::ostream &output) const;

	ITag *clone() const;
protected:
	TagEnd(void *root) : IValueTag(root) {}
	ITag *clone(void *newRoot) const;
};

}

#endif /* TAGEND_H_ */
